Computers, personal digital assistants, cellular telephones and other electronic systems and devices typically include processors and memory. The memory is used to store instructions (typically in the form of computer programs) to be executed and/or data to be operated on by the processors to achieve the functionality of the device. Some applications require retention of the instructions and/or data in a permanent or non-volatile storage medium. Such memories maintain information when the device is turned off or power is removed. Exemplary applications include computer Basic Input Output Systems (BIOS) storage and diskless handheld computing devices, such as personal digital assistants.
Flash memories store information in the absence of continuous power and are capable of being constructed in a very compact form. Flash memory is typically constructed by fabricating a plurality of floating gate transistors in a silicon substrate to form a core cell area. A floating gate transistor is capable of storing electrical charge on a separate gate electrode, known as a floating gate, that is separated by a dielectric layer from a control gate electrode. Generally, stored electrical charge in the floating gate represents a data state.
Flash memory devices also include a periphery area in the silicon substrate. Logic and addressing functions are performed by a plurality of logic and addressing circuits in the periphery area. The logic and addressing circuits perform internal logic operations such as reading, programming and erasing the stored charge in the floating gate transistors.
Flash memory devices also use a supply voltage (Vcc). The supply voltage (Vcc) is a fixed voltage power supply that is used to power the internal logic operations.
The flash memory is electrically interfaced with a system processor of an electronic system or device. To obtain data, the system processor directs the flash memory to perform a read operation. The flash memory operates the logic and addressing circuits to read the floating gate transistors and provides a plurality of outputs indicating whether the floating gate transistors are programmed or un-programmed (i.e. charge stored or not stored).
In general, an output buffer driver within the flash memory receives data signals read out from the flash memory and subsequently outputs data for use by the electronic system or device. Such an output buffer driver generally includes an output or final stage comprised of large-sized MOS transistors. Typically, the MOS transistors include a p-channel pull-up transistor and an n-channel pull-down transistor that cooperatively function to maintain the voltage level of the data output signal. The pull-up and pull-down transistors allow the output to be switched between logic high (logic "1") and logic low (logic "0") levels at high speed. The pull-up and pull-down transistors are controlled by electric signals at their respective control gates that are, in general, generated by the flash memory based on the status of the stored data currently being read.
The data outputs signals from the output buffer driver can be generated with the supply voltage (Vcc) or with a voltage source of a different magnitude, such as a supply voltage (VccQ). A problem occurs when the output buffer driver generates the data output signals with supply voltages that are greater than the supply voltage (Vcc). Under these conditions, the p-channel pull-up transistor may not be capable of being fully turned off due to the supply voltage at the source of the p-channel pull-up transistor being higher than a logic high electric signal generated by the flash memory with the supply voltage (Vcc). When the data output signals from the output buffer driver are switched from logic high to logic low, the data output signals will supply undesirable current as well suffer from slow switching time due to the continued partial activation of the p-channel pull-up transistor.